package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.Order;

/**
 * 订单管理Service接口
 * 
 * @author gcl
 * @date 2021-05-06
 */
public interface IOrderService 
{
    /**
     * 查询订单管理
     * 
     * @param id 订单管理ID
     * @return 订单管理
     */
    public Order selectOrderById(String id);

    /**
     * 查询订单管理列表
     * 
     * @param order 订单管理
     * @return 订单管理集合
     */
    public List<Order> selectOrderList(Order order);

    /**
     * 新增订单管理
     * 
     * @param order 订单管理
     * @return 结果
     */
    public int insertOrder(Order order);

    /**
     * 修改订单管理
     * 
     * @param order 订单管理
     * @return 结果
     */
    public int updateOrder(Order order);

    /**
     * 批量删除订单管理
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteOrderByIds(String ids);

    /**
     * 删除订单管理信息
     * 
     * @param id 订单管理ID
     * @return 结果
     */
    public int deleteOrderById(String id);


    /**
     * 根据商家ID，查询该商家的订单
     *
     * @param order 已经绑定过商家ID的订单对象
     * @return 结果
     */
    List<Order> selectProductListByBusiness(Order order);

    /**
     * 获取超时订单对象的商品ID和数据，并同时修改其订单状态为已超时
     * @return K - 商品ID , V - 数量
     */
    List<Map<String,Object>> changOrderStatus();
}
